1. Technical Field
The present invention relates generally to the field of data transmission and more particularly to a method of Address Management for any device in a given network.
2. Related Art
An address is a data structure understood by all devices of a given network, which uniquely identifies a device within a network. An address is a key information for routing and correctly forwarding a given packet from a source device to a destination device. Obviously, the source device needs to have the address of the destination device and the destination device needs to know which device the received packet comes from and therefore needs to have the address of the source device. An Address Management scheme is in charge of making the source device able to transmit a packet to a destination device and of making the destination device able to identify the source device in order to handle correctly a received packet. An efficient Address Management in a network is very important in order to simplify some basic network administration features and to increase the performance of the communication protocols within the network.
More generally, the Address Management scheme in a given network is in charge of resolving the following main problematic topics: the address allocation, the address resolution, which is performed at different stages during a packet transmission (it is performed on a transmitter side and on reception side or in an interconnection device when at least one is involved in the transmission packet process), and finally the optimisation of addresses transmitted over the medium.
Before considering each of these three listed topics and analysing their impact on the performance of the communication protocols, the following section introduces some basic principles required for the detailed description.
According to the OSI (“Open System Interconnect”) model of ISO (“International Standardization Organization”), each layer of a stack of communication protocols is independent from the others. These layers need to exchange packets with the other layers of the other devices in a given network. It results from this that each layer in each device, which needs to exchange a packet, needs to be identified by a given address which is unique within the given network. For the sake of better understanding, the following description will consider a network of devices including a stack wherein two layers need to be addressed: an Upper Layer (UL) and a Lower Layer (LL) and the devices that can exchange packets through the UL or the LL constitute respectively a UL network or an LL network. A UL network can include several LL networks. Each device of a UL network has a UL address to address its UL layer, this address being unique within the corresponding UL network. Further, each device of an LL network has an LL address to address its LL, this address being unique within the corresponding LL network.
Regarding the Address Management, a packet transmission process can be described according to the following steps, wherein a source device transmits a UL packet to a destination device:                on the transmitter side:                    the UL transmits down the UL packet to the LL, the UL has the UL address corresponding to the destination UL;            the LL receives the UL packet and is in charge of transmitting it to the LL of the destination device, transmitting this packet down the stack until reaching the physical layer;                        on the receiver side:                    the LL receives the packet through the stack from the physical layer, the LL is in charge of retrieving the LL address of the source device before transmitting the received packet to the UL;            the UL receives the packet from the LL, and is in charge of retrieving the UL address of the source device.                        
From this basic description, it results that, firstly, the UL and the LL being independent, it is required to make them able to convert an LL address into a UL address and vice versa, and secondly it is required to transmit some addresses through the medium from the source device towards the destination device in a so-called address part of the messages.
It shall be noted that whereas the three topics listed above are linked together, the following section will consider them one after the other for convenience reason.
Regarding the listed first topic, namely the address allocation scheme, the address of each layer of each device in a network can be allocated according to two different ways: either statically or dynamically. In the first case, the administrator fixes the layer addresses for all devices in the corresponding network so that there is no address conflict. But in this case the address resource is not optimized, and then this type of address allocation is applicable to a network where the address resource is not scarce. Moreover, as soon as a network comprises a lot of devices, the address format will be a long format. Consequently, the address part included in each transmitted packet over the medium could consume a lot of transmission resource by increasing the signalling overhead. In order to optimise the address format, and then to reduce the corresponding signalling overhead, a dynamic address allocation scheme is preferably used. In this case, a particular device in the network is in charge of allocating the addresses by handling a pool of available addresses. Therefore, an optimisation of the address resource is allowed and consequently the address format and the corresponding signalling overhead can be reduced.
The second topic concerns the address resolution. The address resolution refers to the process of finding an address of a given device in a given network. Depending on the step in a packet transmission process, the address resolution can be performed either by retrieving the searched address from the address part of a packet, or by performing an address conversion from a given address into the searched address. Obviously the simplest method to perform an address resolution is to apply the first proposed way. But it is not applicable to a network where the transmission resource is scarce. Actually, as mentioned previously, the longer the address part is, the longer the signalling overhead is. Therefore, regarding the transmission resource, the most efficient address resolution scheme is the second proposed way. It refers more precisely to find an LL or UL address of a device when respectively UL or LL address is known. Actually, as described above, an address conversion may be performed at different steps during a packet transmission depending on the chosen Address Management scheme. Consequently, in order to increase the performance of the communication protocol, the address conversion needs to be efficient and fast. Moreover, an efficient address conversion process applied in the case of dynamic address allocation is able to increase again the efficiency of the communication protocol.
A simple way to provide an address conversion process is to allocate to a given device the same address to the UL and the LL. In this case, it is an euphemism to say this address conversion process is efficient and rapid. But generally, the address format of the UL is longer than the address format of the LL layer. It results from this that an important overhead at the LL level is induced. When the LL protocol generates short signalling messages or when short data packets are transmitted, adding long addresses can be prohibitive regarding the transmission resource.
Assuming that the LL address and the UL address for a same device are different, a second address conversion process consists of performing the address resolution at the UL level. On the transmitter side, when the packet is passed from the UL to the LL, the addresses of the LL layer of the destination device is passed as parameters. Therefore, no resolution address is performed at LL level. On the receiver side, the UL is in charge of performing the address conversion process. This scheme does not allow a flexible implementation because one particular address resolution per LL network included in the UL network needs to be managed at the UL level. This can be complex when a UL network relies on several LL networks with different protocols.
A third address conversion process proposes to perform the address conversion within the LL. Stated otherwise a packet is transmitted from the UL to the LL with the UL address of the destination device passed as parameter. From the UL address of the destination device, the LL retrieves the corresponding LL address. This scheme is more advantageous because a single UL network can rely on different LL networks in a transparent way.
The third topic, namely the optimisation of addresses transmitted over the medium refers to the amount of UL addressing information required to be transmitted in each packet over the medium in the address part of the packet. It shall be noted that the address part is used to correctly forward the packet to the destination, particularly when the packet is addressed to a device only accessible via an interconnection device as a gateway which takes the forwarding decisions based on at least one of the UL addresses carried in the address part of the transmitted packet, and also used to make the destination device able to retrieve the UL address of the source device in order to handle the received packet. In order to limit the signalling overhead generated with the address part, it is very important to select the UL addresses which are mandatory to be carried. This address selection depends on the conversion address process.
In the prior art, different allocation address schemes and different address resolution schemes are disclosed as for instance respectively the Dynamic Host Configuration Protocol (DHCP) and the Address Resolution Protocol (ARP). The prior art provides some Address Management schemes which can be easily implemented in wireless networks but based on too long address format which increase the signalling overhead and consume a lot of transmission resource. Regarding the address resolution scheme, the ARP is a protocol used by the Internet Protocol (IP) to convert the IP network addresses to addresses used by a data link protocol. The protocol operates below the IP network layer as a part of the OSI link layer, and is used when the IP is used over Ethernet. In this case, when a device in the network needs to have a conversion between an Ethernet address and an IP address, it broadcast a request on the network. The matching device returns its own Ethernet and IP addresses to the requesting device. However, this protocol is not easily applicable to a wireless network due to the fact that broadcast is not reliable in such a network.